#!/bin/bash

# ==================================================
# Git Bash 脚本基础教程 - 适用于Windows环境
# ==================================================

# 1. 脚本基本结构
# - 第一行必须是 #!/bin/bash (指定解释器)
# - 注释以 # 开头

# 2. 变量定义与使用
# - 定义变量时不要有空格
# - 使用变量时用 $ 符号
name="ODrive固件项目"
echo "项目名称: $name"

# 3. 命令执行与结果捕获
# - 使用反引号 `` 或 $() 捕获命令结果
date_today=$(date +"%Y-%m-%d %H:%M:%S")
echo "当前时间: $date_today"

# 4. 目录操作
# - Windows路径在Git Bash中可以用两种方式表示:
#   a) C:/Users/username
#   b) /c/Users/username
# - 切换目录: cd
# - 创建目录: mkdir
# - 列出目录内容: ls

# 5. 条件判断
# - if 语句语法
if [ -d "build" ]; then
    echo "build目录已存在"
else
    echo "build目录不存在，正在创建..."
    mkdir build
fi

# 6. 循环结构
echo "\n列出当前目录下的.c和.cpp文件:"
for file in *.c *.cpp; do
    if [ -f "$file" ]; then  # 检查文件是否存在
        echo "- $file"
    fi
done

# 7. 函数定义与调用
function print_separator() {
    echo "======================================"
}

print_separator

# 8. 处理路径中的空格
# - 在Windows中，路径含空格时需要用引号包围
# - 或者使用转义字符 \
# 例如: "/c/Program Files" 或 /c/Program\ Files

# 9. 环境变量设置
# - 临时设置环境变量
export PATH="/c/Program Files/Git/bin:/c/Program Files (x86)/GnuWin32/bin:$PATH"
echo "\n当前PATH环境变量:"
echo "$PATH"

# 10. 常用工具命令示例
echo "\n检查git版本:"
git --version 2>/dev/null || echo "git未安装"

echo "\n检查make版本:"
make --version 2>/dev/null || echo "make未安装"

echo "\n检查ARM工具链:"
arm-none-eabi-gcc --version 2>/dev/null || echo "ARM工具链未安装"

print_separator
echo "Git Bash脚本基础教程结束！"
echo "请根据实际需要修改和扩展此脚本。"